﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MicroBenchmarks.NestedPUT
{
    public class NestedPUTInvoker
    {
        int a = 0, b = 0;
        bool bExplored = false;
        bool bADone = false;
        bool bBDone = false;
        bool bBreallyDone = false;
        private int bTest = 0;

        public void IncrA(int i)
        {            
            a++;
            if (a == 3)
            {
                Console.WriteLine("Explored also");
                bADone = true;
            }

            if (i > 10)
            {
            }
        }

        bool bPreReq = false;
        public void PreReqForB()
        {
            bPreReq = true;
        }

        public void IncrB()
        {
            b++;

            if (bBDone)
            {
                bBreallyDone = true;
            }

            if (bPreReq)
            {
                bBDone = true;
            }            
        }

        public bool Explore()
        {
            if (bADone)
            {
                if (bBreallyDone)
                {
                    Console.WriteLine("Met a in Explore");
                    return true;
                }
            }
            
            return false;
        }
    }
}
